###############################################
# ORDER OF THE SACRED MAGDALENE
# MAGDALENE SUCCESSION DECISION
#
# Normal feudal and tribal governments only.
# Nomads, republics, and theocracies are excluded.
#
# First establishment requires Rank 4 and consumes
# 50% of current Grace.
#
# Once Magdalene Primogeniture has been established,
# a successor who is at least Rank 1 may freely
# reassert the law with no opinion loss.
###############################################

society_decisions = {

    ggsm_establish_magdalene_succession = {

        potential = {
            society_member_of = ggsm_order_sacred_magdalene
            society_rank >= 1
            is_landed = yes

            OR = {
                government = feudal_government
                government = tribal_government
            }

            # Rank 4 may found the reform.
            # Lower-ranked successors may repair an already established reform.
            OR = {
                society_rank >= 4

                has_dynasty_flag = ggsm_magdalene_succession_established

                any_dynasty_member_even_if_dead = {
                    has_character_flag = ggsm_magdalene_succession_enacted
                }

                any_demesne_title = {
                    OR = {
                        has_title_flag = ggsm_magdalene_succession_established
                        has_law = succ_magdalene_primogeniture
                    }
                }
            }

            # Show the decision only when founding or repair work is actually needed.
            OR = {
                NOT = {
                    has_character_flag = ggsm_magdalene_succession_enacted
                }

                any_demesne_title = {
                    OR = {
                        tier = COUNT
                        tier = DUKE
                        tier = KING
                        tier = EMPEROR
                    }
                    NOT = {
                        has_law = succ_magdalene_primogeniture
                    }
                }

                any_realm_lord = {
                    is_landed = yes
                    is_female = yes
                    religion = catholic
                    society_member_of = ggsm_order_sacred_magdalene

                    OR = {
                        government = feudal_government
                        government = tribal_government
                    }

                    any_demesne_title = {
                        OR = {
                            tier = COUNT
                            tier = DUKE
                            tier = KING
                            tier = EMPEROR
                        }
                        NOT = {
                            has_law = succ_magdalene_primogeniture
                        }
                    }
                }
            }
        }

        allow = {
            is_inaccessible_trigger = no
            prisoner = no
            in_command = no
        }

        effect = {
            # A true first-time founder must still be Rank 4 and pays the
            # one-time 50% Grace cost through ggsm.600.
            if = {
                limit = {
                    society_rank >= 4

                    NOT = {
                        has_dynasty_flag = ggsm_magdalene_succession_established
                    }

                    NOT = {
                        any_dynasty_member_even_if_dead = {
                            has_character_flag = ggsm_magdalene_succession_enacted
                        }
                    }

                    NOT = {
                        any_demesne_title = {
                            OR = {
                                has_title_flag = ggsm_magdalene_succession_established
                                has_law = succ_magdalene_primogeniture
                            }
                        }
                    }
                }

                long_character_event = {
                    id = ggsm.600
                }
            }

            # Once the reform has existed, including after inheritance or
            # abdication, the same decision becomes a free manual repair pass.
            else = {
                if = {
                    limit = {
                        NOT = {
                            has_character_flag = ggsm_magdalene_succession_enacted
                        }
                    }

                    set_character_flag = ggsm_magdalene_succession_enacted

                    hidden_tooltip = {
                        long_character_event = {
                            id = ggsm.601
                            days = 365
                        }
                    }
                }

                set_dynasty_flag = ggsm_magdalene_succession_established


                # Explicitly repair the primary title first. any_demesne_title
                # also includes it, but this prevents the primary title from
                # being left behind by title-specific law validation behavior.
                primary_title = {
                    if = {
                        limit = {
                            OR = {
                                tier = COUNT
                                tier = DUKE
                                tier = KING
                                tier = EMPEROR
                            }
                        }

                        succession = primogeniture
                        gender_succ = enatic
                        law_set_allow_matrilineal_marriage = yes

                        if = {
                            limit = {
                                NOT = {
                                    has_law = succ_magdalene_primogeniture
                                }
                            }

                            add_law = {
                                law = succ_magdalene_primogeniture
                                cooldown = no
                                opinion_effect = no
                            }
                        }

                        set_title_flag = ggsm_magdalene_succession_established
                    }
                }

                # Repair every county-or-higher title personally held by the ruler.
                # No law-passage opinion effect is applied.
                any_demesne_title = {
                    limit = {
                        NOT = {
                            is_primary_holder_title = yes
                        }

                        OR = {
                            tier = COUNT
                            tier = DUKE
                            tier = KING
                            tier = EMPEROR
                        }
                    }

                    if = {
                        limit = {
                            NOT = {
                                has_law = succ_magdalene_primogeniture
                            }
                        }

                        add_law = {
                            law = succ_magdalene_primogeniture
                            cooldown = no
                            opinion_effect = no
                        }

                        # Enforce the actual title succession mechanics directly.
                        # This is intentionally separate from add_law so a title-side
                        # law-potential quirk cannot leave one held title unsynchronized.
                        succession = primogeniture
                        gender_succ = enatic
                        law_set_allow_matrilineal_marriage = yes
                    }

                    set_title_flag = ggsm_magdalene_succession_established
                }

                # Repair eligible Magdalene women throughout the realm as well.
                any_realm_lord = {
                    limit = {
                        is_landed = yes
                        is_female = yes
                        religion = catholic
                        society_member_of = ggsm_order_sacred_magdalene

                        OR = {
                            government = feudal_government
                            government = tribal_government
                        }
                    }

                    # A vassal's primary title must be handled explicitly for the
                    # same reason as the top ruler's primary title.
                    primary_title = {
                        if = {
                            limit = {
                                OR = {
                                    tier = COUNT
                                    tier = DUKE
                                    tier = KING
                                    tier = EMPEROR
                                }
                            }

                            succession = primogeniture
                            gender_succ = enatic
                            law_set_allow_matrilineal_marriage = yes

                            if = {
                                limit = {
                                    NOT = {
                                        has_law = succ_magdalene_primogeniture
                                    }
                                }

                                add_law = {
                                    law = succ_magdalene_primogeniture
                                    cooldown = no
                                    opinion_effect = no
                                }
                            }

                            set_title_flag = ggsm_magdalene_succession_established
                        }
                    }

                    # Then repair only the vassal's secondary county-or-higher titles.
                    any_demesne_title = {
                        limit = {
                            NOT = {
                                is_primary_holder_title = yes
                            }

                            OR = {
                                tier = COUNT
                                tier = DUKE
                                tier = KING
                                tier = EMPEROR
                            }
                        }

                        succession = primogeniture
                        gender_succ = enatic
                        law_set_allow_matrilineal_marriage = yes

                        if = {
                            limit = {
                                NOT = {
                                    has_law = succ_magdalene_primogeniture
                                }
                            }

                            add_law = {
                                law = succ_magdalene_primogeniture
                                cooldown = no
                                opinion_effect = no
                            }
                        }

                        set_title_flag = ggsm_magdalene_succession_established
                    }
                }
            }
        }

        ai_will_do = {
            factor = 1
        }
    }
}
